package com.csii.activiti.server.core.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.csii.activiti.server.abstraction.entity.ActSendMessage;
import com.csii.activiti.server.core.entity.db.ActFlowCallbackEntity;
import com.csii.activiti.server.core.query.QueryFlowCallback;

import java.util.List;

public interface FlowCallbackManagementService {


    /**
     * 回调
     * @return
     */
    void callback(ActSendMessage sendMessage, String callbackType);

    /**
     * 根据ID重新回调
     * @return
     */
    void reCallbackById(String id);

    /**
     * 更新流程回调
     * @return
     */
    void updateFlowCallbackData(ActFlowCallbackEntity actFlowCallbackEntity);

    /**
     * 查询回调Id小于retriesCount
     * @return
     */
    List<ActFlowCallbackEntity> queryCallbackEntityLtRetriesCount(int retriesCount);

    /**
     * 查询数据
     * @return
     */
    Page<ActFlowCallbackEntity> queryData(QueryFlowCallback queryFlowCallback, Page page);



}
